package com.dhsc.service.impl.wskh.ewmgl;

import com.dhsc.domain.ywzx.wskh.ewmgl.YjqzglVo;
import com.dhsc.domain.yypt.LayuiTableVo;
import com.dhsc.domain.yypt.ResponseObject;
import com.dhsc.exception.MyException;
import com.dhsc.local.dao.wskh.ewmgl.IYjqzglDao;
import com.dhsc.service.wskh.ewmgl.IYjqzglService;
import com.dhsc.util.JsonUtil;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @ClassName YjqzglServiceImpl
 * @description: 佣金群组管理
 * @author: gx
 * @create: 2024-10-14 16:51:54
 **/
@Service
@Slf4j
public class YjqzglServiceImpl implements IYjqzglService {

    @Autowired
    private IYjqzglDao yjqzglDao;

    @Override
    public LayuiTableVo queryYjqzgl(YjqzglVo yjqzglVo) {
        LayuiTableVo obj = new LayuiTableVo();
        try{
            PageMethod.startPage(yjqzglVo.getPage(),yjqzglVo.getLimit());
            List<YjqzglVo> list = yjqzglDao.queryYjqzgl(yjqzglVo);
            PageInfo<YjqzglVo> pageInfo = new PageInfo<>(list);
            obj.setData(list);
            obj.setMsg("");
            obj.setCount(pageInfo.getTotal());
            obj.setCode(0);
        }catch(Exception e){
            log.error("查询佣金群组管理信息出错", e);
            throw new MyException("查询佣金群组管理信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject saveYjqzgl(YjqzglVo yjqzglVo) {
        ResponseObject obj = new ResponseObject();
        try {
            List<YjqzglVo> yjqzglVos = JsonUtil.readValueAsList(yjqzglVo.getYjqzglList(), YjqzglVo.class);
            yjqzglDao.insertYjqzgl(yjqzglVos);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("保存佣金群组管理出错",e);
            throw new MyException("保存佣金群组管理出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject deleteYjqzgl(YjqzglVo yjqzglVo) {
        ResponseObject obj = new ResponseObject();
        try {
            yjqzglDao.deleteYjqzgl(yjqzglVo);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("删除佣金群组管理出错",e);
            throw new MyException("删除佣金群组管理出错",e);
        }
        return obj;
    }

    @Override
    public LayuiTableVo queryTkhqz(YjqzglVo yjqzglVo) {
        LayuiTableVo obj = new LayuiTableVo();
        try{
            PageMethod.startPage(yjqzglVo.getPage(),yjqzglVo.getLimit());
            List<YjqzglVo> list = yjqzglDao.queryTkhqz(yjqzglVo);
            PageInfo<YjqzglVo> pageInfo = new PageInfo<>(list);
            obj.setData(list);
            obj.setMsg("");
            obj.setCount(pageInfo.getTotal());
            obj.setCode(0);
        }catch(Exception e){
            log.error("查询客户群组信息出错", e);
            throw new MyException("查询客户群组信息出错",e);
        }
        return obj;
    }
}
